home *** CD-ROM | disk | FTP | other *** search
- File "WASH.DOC"
-
- Documentation on the operation of:
- "WASH.COM"
- by:
- Michael J. Karas
- Micro Resources
- 2468 Hansen Court
- Simi Valley, California 93065
-
-
- This program is a super-duper CP/M disk directory maintence utility
- that is designed as an "almost" all inclusive routine to make it easy to do
- disk directory house keeping. The inspiration to produce this program came
- from use of an older utility program called "CLEAN" that I came across at a
- meeting of the Valley Computer Club about a year and a half ago. At that time
- "CLEAN" seemed like a dream come true. Unfortunately it had several major
- problems that limited its overall usefullness. The disadvantages of CLEAN have
- all been overcome with the new WASH program. Program features are listed
- below:
-
- a) Alphabetical list oriented file operations
-
- b) Any legal CP/M drive (A: to P:) may be selected
-
- c) Operator interface to the file list is at the console
- in sequential apha order in forward or backup mode.
-
- d) The file list is treated as a circular buffer. Forward
- or backward scanning of the list wraps around the list
- back to the beginning or ending respectively.
-
- e) The current list position file can be viewed at the
- Console, printed on the CP/M List device, or sent
- to the CP/M Punch device.
-
- f) The current list position file may be deleted or renamed.
- If renamed, only the new name must be entered.
-
- g) The current list position file may be copied, with the
- same name, to any other operator selected disk drive.
- The copy utilizes all of available memory as the copy
- buffer for the ultimate in copy speed.
-
- h) The current list can be deleted and the "WASH" operation
- may be begun upon another operator selected disk drive.
-
- i) The program is fully implemented in 8080 assembly language
- for speed, small size, and portability to any CP/M 2.2
- or 1.4 system. The MSDOS VERSION is of course in 8086
- assembly language. No assumption is made upon the maximum
- number of directory files other than available memory
- space for the list. (A directory with 1024 directory
- file names takes 12 K bytes of storage. Assuming the
- copy buffer minimum size requirement of 128 bytes, then
- WASH should easily run in the minimum CP/M 2.2 20K
- System with no problems at all.) ALL directory and
- disk I/O is handled through calls to the BDOS. This
- will guarentee WASH compatibility with any CP/M system
- implementation. This makes the program disk media
- independent (all you have to do is get WASH.COM onto
- your diskette or hard disk in the first place.
-
- This Program was Written by:
-
- Michael J. Karas
- MICRO RESOURCES
- 2468 Hansen Court
- Simi Valley, California 93065
- (805) 527-7299
- September 20, 1981
-
- NOTE: The WASH program, its source code, documentation file,
- and object code, has been released to the PUBLIC DOMAIN
- by Michael J. Karas. This program may be modified to suit
- your personal requirements or those of your friends. In
- any case no COMMERCIAL or MONEY MAKING ventures with
- regard to SOFTWARE SALES or MODIFICATION and the subsequent
- SALE of the WASH program in WHOLE or any PART is permitted
- by the author. Further modification and public domain
- distribution of the WASH program must include:
-
- a) This NOTE,
-
- b) The name "WASH" must be retained,
-
- c) The original authorship notice
- from above, and
-
- d) The MICRO RESOURCES Name in the Sign-on
- Menu.
-
- MICRO RESOURCES reserves the right to modify this program at any
- time for any purpose. The Intent of the above NOTE is intended for the public
- domain distribution of the WASH program and MICRO RESOURCES reserves the right
- to utilize the WASH program for any application whatsoever including but not
- limited to commercial distribution and modification for custom applications
- with or without the "WASH" name.
-
-
- Modification of WASH
- --------------------
-
- If you modify, enhance, or correct bugs in this program, please
- include a short statement of the modifications done and include your name
- and the date. The modification history log should be kept intact with the
- source code file in "most recent first" order. Changes to program structure
- will generally require a change in the program version. The version number
- is documented in the signon message and the distribution program name as
- "WASH-10.ASM" in the specific case of the initial release 1.0.
-
- The format for update notices in the source file should follow the
- format shown below:
-
- Date: Sept. 20, 1981 Version Number: 1.0 Name: Michael J. Karas
-
- Initial release to the public domain via the CP/M NET remote
- software access program operated by Kelly Smith, 3055 Waco Ave,
- Simi Valley, CA 93063. (805) 527-9321/ PMMI modem.
-
-
-
- Running WASH
- ------------
-
- The WASH program is run as a transient command under CP/M 2.2
- or CP/M 1.4 as follows. The program creates a working list of all selected
- file names on the selected drive. Examples of command formats are:
-
- A>WASH<cr> <== WASH forms working list
- of all files from default drive A:.
-
- A>WASH B:<cr> <== WASH forms working list of all
- files from selected drive B:.
-
- A>WASH *.COM<cr> <== WASH formas working list of all
- ".COM" files from default drive A:.
-
- WASH will boot up and read all selected file names from the selected
- drive into a "MEMORY" list that is in ascending alphabetical order. The first
- file name will be displayed with a ":" prompt awaiting some command from the
- operator. The following summary describes WASH commands.
-
- WASH Commands
- -------------
-
- The Wash program permits entry of various commands while the console
- cursor is positioned at a ":" prompt after the currently displayed file name
- in the file name list.
-
- **** File List Manipulation Comands.
-
- File Forward (SPACE or CARRIAGE RETURN) Command
- -----------------------------------------------
-
- This command will increment the displayed list pointer and
- then display the next file name in the list. If last file
- name in list is currently displayed, the message "End of List"
- is displayed and file name display wraps around to the first
- file name.
-
- Backup (B) Command
- ------------------
-
- This command will decrement the displayed list pointer and
- display the previous file name from the list. If the first file
- name in the list is currently displayed, the message "Beginning
- of List" is displayed and the file name display wraps back to
- the last file name in the list.
-
-
- **** File Operation Commands.
-
- View (V) File Command
- ---------------------
-
- The contents of the currently displayed file name is output
- to the console screen. Text is normally assumed to be ASCII
- and file display ceases upon encountering a logical end of
- file character (01AH) (ctl-z).
-
- Punch (P) File Command
- ----------------------
-
- The contents of the currently displayed file name output
- to the CP/M logical Punch device. Text is normally assumed to
- be ASCII and file punching ceases upon encountering a logical end
- of file character (01AH) (ctl-z).
-
- List (L) File Command
- ---------------------
-
- The contents of the currently displayed file name is output
- to the CP/M logical List device. Text is normally assumed to
- be ASCII and file listing ceases upon encountering a logical
- end of file character (01AH) (ctl-z).
-
- Copy (C) File Command
- ---------------------
-
- This command allows the complete contents of the currently
- displayed file name to copied to a file on another operator
- selected drive with the same name. If the file name already
- exists on the destiantion disk, the operator is asked if it
- should be replaced.
-
- Delete (D) File Command ( changed to CONTROL-D to reduce accidents )
- -----------------------
-
- The file with name corresponding to the currently displayed
- list name is deleted from the disk directory. After deletion
- the message "Deleted" is displayed at the console. Deleted
- file name is also removed from the in memory list.
-
- Rename (R) File Command
- -----------------------
-
- The file name currently displayed is renamed to the operator
- entered name in response to the "New Name ?" prompt. The list
- in memory is also updated to reflect the new file name.
-
- **** Miscellaneous Commands.
-
- Exit (X) Command ( may also use, Q or control-C )
- ----------------
-
- Command when entered will terminate WASH operation and return
- system control to the CP/M Console Command Processor via a
- warm boot operation.
-
- Start (S) over on New Drive Command
- -----------------------------------
-
- Entry of the Start over command will cause the WASH program
- to make up a new directory name list in memory from the drive
- designator entered by the operator in response to the "New
- Drive ?" prompt.
-
-
- OPERATIONAL NOTES ON WASH
- -------------------------
-
- Command entries not understood by WASH will cause display of a
- "?" character followed by redisplay of the same current list position
- file name. Command entries, other than Backup, will generally execute
- and then return to the command mode with the next file name from the list
- displayed.
-
- Entry of a carriage return in response to the "New Name ?" prompt
- of the Rename command or to the "New Drive ?" prompt of the Start Over
- command will abort the command function and cause display of the next file
- name in the file name list.
-
- The WASH program contains a liberal number of error checking
- functions not normally seen by the operator unless an error condition
- arises. These are always displayed with leading and trailing pairs of the
- plus sign character as:
-
- ++ Error Message ++
-
- Some of the error conditions are:
-
- ++ Not Found ++
-
- command line wild card file specification
- name list is empty, or disk is empty.
-
- -or-
-
- delete, rename, copy source files not found.
- (most likely due to a diskette change)
-
- ++ Name Already Exists ++
-
- attempt to rename a file to a name already present
- on the disk.
-
- ++ File Cannot Be Opened ++
-
- output file for view, list, or punch, cannot be
- opened for reading. Most probable cause is due to
- a disk change.
-
- ++ Source File Cannot Be Opened ++
-
- source file on a copy operation cannot be found on
- the disk. Most likely casued by a disk change.
-
- ++ Cannot Select Same Disk as Source ++
-
- the copy to destination disk selected by the operator
- must be different than the source disk.
-
- ++ Destination Directory Full ++
-
- The destination file on a copy operation cannot be opened
- because the destination disk directory is full.
-
- ++ No Memory Available For Copy Buffer ++
-
- Caused when size of in memory list is so large that an
- attempted copy operation can find no buffer space.
-
- ++ Disk or Directory Full on Write ++
-
- Caused when a copy operation attempts to place a file
- on a destination disk that does not have enough room
- for the file, or not enough room to contain all the
- directory extent entries for the destination file.
-
- ++ Destination Close Error ++
-
- Destination file on a copy operation cannot be closed
- most likely due to a full directory.
-
- Looking at WASH in Action
- -------------------------
-
- The following text is an example session with WASH at the console.
- This dislay was made possible through use of Kelly Smith's new console
- i/o capture program I/O-CAP.COM. The intepretation of the action below
- should be self evident via the descriptions in the above sections.
- The text "<== xxxxxxxxxxxx" indicates text typed in for documentation
- purposes and not by the WASH program.
-
-
- A>WASH<cr> <== start up wash for *.* on A:
-
-
- MICRO RESOURCES DIRECTORY "WASH UTILITY" Ver 1.0B
- ( MSDOS VERSION )
-
- Command Function
- ------- ----------------------------
- V View file at Console
- L Print file to List Device
- P Send file to Punch Device
- C Copy file to another Disk
- R Rename file
- ^ D Delete file
- Q or X Exit to DOS (Ctl-C also works)
- B Backup one file in List
- S Restart on another Drive
- ? or H List this command table
- sp or cr Forward to next file in List
-
-
- A: / .COM : <== space bar to go forward
- A: ADIR .COM :
- A: ASM .COM :
- A: CONCAP .COM : B <== B to backup
- < A: ASM .COM : B
- < A: ADIR .COM : B
- < A: / .COM : B
-
- Beginning of List <== Backup past top of list
-
- < A: XSUB .COM : B
- < A: WORDMAS .COM : B
- < A: WM .HLP : B
- < A: WASH .HEX : B
- < A: WASH .DOC : B
- < A: WASH .COM : B
- < A: WASH .BAK : B
- < A: WASH .ASM : B
- < A: USQ .COM : B
- < A: TYPESQ14.DQC : B
- < A: TSQ .COM : B
- < A: SYSGEN .COM : <== forward again
- A: TSQ .COM : C Destination Drive ? B <== Copy two files to B:
- A: TYPESQ14.DQC : C Destination Drive ? B
- A: USQ .COM :
- A: WASH .ASM :
- A: WASH .BAK :
- A: WASH .COM :
- A: WASH .DOC :
- A: WASH .HEX :
- A: WM .HLP :
- A: WORDMAS .COM : B
- < A: WM .HLP : B
- < A: WASH .HEX : B
- < A: WASH .DOC : B
- < A: WASH .COM : B
- < A: WASH .BAK :^ D Deleted <== delete an old file
- A: WASH .COM : <== I didn't want
- A: WASH .DOC : S New Drive ? B <== Start over on new drive
-
- <== WASH signs on again for
- Drive B:
- MICRO RESOURCES DIRECTORY "WASH UTILITY" Ver 1.0B
- ( MSDOS VERSION )
-
- Command Function
- ------- ----------------------------
- V View file at Console
- L Print file to List Device
- P Send file to Punch Device
- C Copy file to another Disk
- R Rename file
- ^ D Delete file
- Q or X Exit to DOS (Ctl-C also works)
- B Backup one file in List
- S Restart on another Drive
- ? or H List this command table
- sp or cr Forward to next file in List
-
-
- B: / .COM :
- B: TSQ .COM : B
- < B: / .COM : ^D Deleted <== delete a file on B:
- B: TSQ .COM :
- B: TYPESQ14.DQC :
- B: WASH .ASM :
- B: WASH .BAK : ^D Deleted <== and another
- B: WASH .COM :
- B: WASHTEST.DOC :
- B: WM .HLP : B
- < B: WASHTEST.DOC : V <== View a text file at crt
- JUST A SHORT MESSAGE TO DEMONSTRATE THE PHYSICAL
- I/O CAPABILITIES OF "WASH" OF DOCMENTATION.
-
-
- B: WM .HLP : B
- < B: WASHTEST.DOC : P <== Send text file to my TI-820
- B: WM .HLP : B on the PUNCH port of CP/M
- < B: WASHTEST.DOC : L <== Send text file to printer on
- B: WM .HLP : the LIST port of CP/M
- B: WORDMAS .COM :
- B: Z2 . :
- B: Z3 . :
- B: Z4 . :
-
- End of List <== forward scroll of list
- past end of list
- B: TSQ .COM : <== to first one again
- B: TYPESQ14.DQC :
- B: WASH .ASM :
- B: WASH .COM :
- B: WASHTEST.DOC :
- B: WM .HLP :
- B: WORDMAS .COM :
- B: Z2 . :
- B: Z3 . : B
- < B: Z2 . : C Destination Drive ? A <== copy to A:
- B: Z3 . :X <== exit back to logged drive
-
- A>
-
- +++ End of Documentation File
-
-
-
-
-
-
-